Communication control systems include a configuration in which one or multiple controllers (control devices) are connected via a network and the controllers transmit control commands, etc. to one or multiple targets to be controlled via the network to control the targets. Networks used for such a communication control system include Ethernet (registered trademark), RS-232C, RS-422, RS-485, CAN (registered trademark), DeviceNet, MECHATROLINK (registered trademark), CC-Link (registered trademark), EtherCAT (registered trademark), etc.
In a communication control system in which multiple control devices are connected via a network, each control device may be required to operate synchronously in some cases. The above phrase “to operate synchronously” means that each control device follows a control law common in the communication control system and a timing of a sensor input of each control device used in calculations of the control law and a timing of an actuator output introduced from the control law are not offset in any control device.
For example, in an industrial robot arm having multiple joints, when each joint is formed of a servomotor, a desired trajectory of the robot arm cannot be obtained unless operations of the servomotors synchronize. The synchronization precision required in a communication control system may need to be higher as a control capability required in the communication control system becomes higher.
Therefore, to synchronously operate each control device forming a communication control system, technologies of a real-time communication protocol and a synchronization protocol have been developed.
Patent Document 1, JP-A No. 2008-187235, “A network system and slave synchronization method,” and Non-patent Document 1, IEEE 1588-2008 “IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems,” disclose such communication technologies. For example, Patent Document 1 discloses a method in which a communication control unit notifies each control device of an operation start time to synchronize an operation time of each control device. Non-patent Document 1 is a standard showing a procedure of executing a synchronization protocol.
As stated above, “to operate synchronously,” each follows a control law common in the communication control system and a timing of a sensor input of each control device used in calculations of the control law and a timing of an actuator output introduced from the control law may be required not to offset in any control device.
This means that both an issue of the communication side and an issue of the control side may be required to be addressed. First, the issue of the control side is examined. This examination is conducted on the premise that the issue of the communication side mentioned later has been solved and only the issue of the control side remains.
However, though the issue of the communication side has been solved by synchronization of each control device, significant operations on a control system in each control device cannot be synchronized. This is because a different delay actually occurs in each control device until a significant operation on a communication control system even when each control device can start its operation from a predetermined synchronized time of a time scale. For example, when an output to a motor is taken as an example and a motor output is assumed as “a significant operation,” each control device applies an operation output to a motor connected to each control device. A time from reception of an operation command by each control device to a motor output may be different in each control device. This is because a configuration of each control device is different and a time taken from when the motor receives the operation output until the motor actually operates in response to the operation output is different in each control device.
On the other hand, when the issue of the communication side is examined, it is effective to connect between a communication control unit and each control device with a real-time communication protocol. However, even in such a technique, a cycle in which each control device receives a control command from the communication control unit is offset. This issue is explained in reference to FIG. 17.
FIG. 17 shows a situation in which a control command D is transmitted from a communication control unit 20 to three control devices 21. The Tai is a time at which the control device in a cycle i starts its operation. Here, the communication control unit 20 transmits control commands D0 and D1 at times t0 and t4, respectively, and the control devices 21 receive the control commands D0 and D1 at different cycles, respectively.
For this reason, in the example of FIG. 17, in a control period 1 starting from the time Ta1, each control device receives a different control command from the communication control unit 20 in executing processing. At this time, the control devices 21b and control device 21c have not received the control command D0 while the control device 21a has received the control command D0. In a control period 2 starting from a time Ta2, when each control device executes processing, the control device 21a and control device 21b have received the control command D1, but the control device 21c has not received the control command D1. For this reason, in the control period 2 starting from time the Ta2, the control device 21a and control device 21b can execute processing of the control command D1, and the control device 21c performs processing of the control command D0.
This is because a transmission time of the control command D from the communication control unit 20 is not controlled. Additionally, since calculation of the control command D is usually performed by software which operates on a CPU and an embedded processor, the transmission cycle of a transmission-command request may be large relative to a control period. Alternatively, in addition to reduction of the precision due to the execution by software, reduction of the precision may occur at timing at which a command is transmitted from a CPU and an embedded processor to communication hardware due to a bus protocol between the CPU and the embedded processor.
With respect to this point, in the technology of Patent Document 1, the communication control unit 20 collects a control start time of each control device 21 and notifies each control device 21 of a wait time taken from a reception of the control command D to a start of an operation. Therefore, a significant operation time can be synchronized in a communication control system.
However, in this technology, a communication time for using the network is assigned to each control device. Therefore, a control cycle is an integrated value of communication delays to respective control devices. Therefore, the control cycle becomes longer as the number of control devices increases.
For addressing both the issue of the communication side and the issue of the control side, the present invention aims to provide a communication control unit in which each control device can operate synchronously, and a communication control system.